<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 数组的拓展方法 -> 官方给定的专门操作数组的方法 
    // 语法: 数组.方法()

    // 学习数组的方法
    // 1. 功能  -> 有什么用
    // 2. 返回值 -> 有什么结果
    // 3. 是否影响原数组 -> 有些方法直接操作原数组 有些方法返回新数组


    // 常见方法
    // unshift  push
    // shift    pop
    
    // splice()    任意位置增删改

    // indexOf()  =>
    // includes()



    // 删除
    // splice(startIndex,n)  从下标为startIndex的位置开始删除n个元素
    // 返回值:被删除的元素形成的新数组
    // 是否影响影响原数组: 影响
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.splice(3, 3);
    // console.log("返回值", result); // [2,5,8]
    // console.log("原数组", list);

    // 新增
    // splice(startIndex,0,arg1,arg2...argN)  从下标为startIndex的位置开始删除0个元素,再新增一个或多个元素(从第三参数开始都是新增的元素)
    // 返回值:被删除的元素形成的新数组  => []
    // 是否影响影响原数组: 影响

    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.splice(3, 0, "x", "y", "z");
    // console.log("返回值", result);
    // console.log("原数组", list);

    // 修改
    // splice(startIndex,n,arg1,arg2...argN)  从下标为startIndex的位置开始删除n个元素,再新增一个或多个元素(从第三参数开始都是新增的元素)
    // 返回值:被删除的元素形成的新数组
    // 是否影响影响原数组: 影响
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.splice(3, 3, "x", "y", "z");
    // console.log("返回值", result);
    // console.log("原数组", list);


    // indexOf()   返回某个元素在数组中第一次出现的位置
    // 返回值: 该元素在数组中第一次出现的位置  找不到=> -1
    // 是否影响影响原数组: 不影响

    // var list = [1, 4, 7, 2, 5, 8, 2, 3, 6, 9];
    // var result = list.indexOf(2);  // 3
    // var result = list.indexOf(100);  // -1
    // console.log("返回值", result);
    // console.log("原数组", list);

    // 拓展: indexOf() 也可以用于判断数组中是否存在某个元素
    // 存在: 有下标  index >= 0   或 index != -1
    // 不存在: 返回-1  index == -1
    // var list = [1, 4, 7, 2, 5, 8, 2, 3, 6, 9];
    // console.log(list.indexOf(2) != -1);   // 是否存在2
    // console.log(list.indexOf(100) != -1);


    // includes()   ES6新增 判断数组中是否存在某个元素
    // 返回值: 存在=>true 不存在=>false
    // 是否影响影响原数组: 不影响
    // var list = [1, 4, 7, 2, 5, 8, 2, 3, 6, 9];
    // var result = list.includes(2);  // true
    // var result = list.includes(100);  // false
    // console.log("返回值", result);
    // console.log("原数组", list);






</script>

</html>